package com.ruoyi.system.service.analysis;

import com.ruoyi.system.domain.analysis.*;

import java.util.List;
import java.util.Map;

/**
 * 用户分析服务接口
 */
public interface IUserAnalysisService {
    
    /**
     * 获取用户分层统计
     */
    List<UserTierStats> getUserTierDistribution();
    
    /**
     * 获取行为特征雷达数据
     */
    List<BehaviorRadarData> getBehaviorRadarData();
    
    /**
     * 获取时间趋势数据
     */
    List<TimeTrendData> getTimeTrendData(int months);
    
    /**
     * 获取观看时长分布
     */
    List<WatchDurationDist> getWatchDurationDistribution();
    
    /**
     * 获取完播率与满意度数据
     */
    List<CompletionSatisfaction> getCompletionSatisfactionData();
    
    /**
     * 获取所有分析数据（仪表板用）
     */
    Map<String, Object> getDashboardData();

    /**
     * 获取增强版仪表板数据（7个可视化）
     */
    Map<String, Object> getEnhancedDashboardData();  // 添加这个方法声明
    // 各个可视化的独立方法
    List<Map<String, Object>> getUserPyramidData();
    List<Map<String, Object>> getThreeDimensionalData();
    List<Map<String, Object>> getPaymentFunnelData();
    List<Map<String, Object>> getWatchHeatmapData();
    List<Map<String, Object>> getContentPreferenceData();
    List<Map<String, Object>> getUserLifecycleData();
    // 添加新方法
    List<Map<String, Object>> getActorPreferences();
    List<Map<String, Object>> getRFMAnalysis();
    List<Map<String, Object>> getRevenueContributionData();
}